package com.google.gwt.it2tool.client;

import java.util.List;

import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;

@RemoteServiceRelativePath("factory")
public interface FactoryService extends RemoteService {
  public void addFactory(Factory fac) throws NotLoggedInException;
  public void removeFactory(Factory fac) throws NotLoggedInException;
  public void addProduction(Production prod) throws NotLoggedInException;
  public void removeProduction(Production prod) throws NotLoggedInException;
  public List<Factory> getFactories() throws NotLoggedInException;
  public void storeMassProductionLvl(int lvl) throws NotLoggedInException;
  public Integer getMassProductionLvl() throws NotLoggedInException;
  public void storeRecipe(Recipe rec) throws NotLoggedInException;
  public List<Recipe> getRecipies() throws NotLoggedInException;
  public List<ProductionPrototype>  getProductionPrototypes() throws NotLoggedInException;
  public ProductionPrototype getProductionPrototype(String name) throws NotLoggedInException;
  public void storeCustomFactoryOrder(CustomFactoryOrder order) throws NotLoggedInException;
  public CustomFactoryOrder getCustomFactoryOrder() throws NotLoggedInException;
}